using Baci.Net.ToolKit.ArcGISProGeoprocessor.Models;
using Baci.Net.ToolKit.ArcGISProGeoprocessor.Models.Attributes;
using Baci.Net.ToolKit.ArcGISProGeoprocessor.Models.Attributes.DomainAttributes;
using Baci.Net.ToolKit.ArcGISProGeoprocessor.Models.Enums;
using System.Collections.Generic;
using System.ComponentModel;

namespace Baci.ArcGIS._DefenseTools._Conversion
{
    /// <summary>
    /// <para>Coordinate Table To Ellipse</para>
    /// <para>Creates ellipse features from coordinates stored in a table and input data values.</para>
    /// <para>根据表中存储的坐标创建椭圆要素并输入数据值。</para>
    /// </summary>    
    [DisplayName("Coordinate Table To Ellipse")]
    public class CoordinateTableToEllipse : AbstractGPProcess
    {
        /// <summary>
        /// 无参构造
        /// </summary>
        public CoordinateTableToEllipse()
        {

        }

        /// <summary>
        /// 有参构造
        /// </summary>
        /// <param name="_in_table">
        /// <para>Input Table</para>
        /// <para>The table containing the source coordinates.</para>
        /// <para>包含源坐标的表。</para>
        /// </param>
        /// <param name="_out_feature_class">
        /// <para>Output Ellipse Feature Class</para>
        /// <para>The feature class containing the output ellipse polygon features.</para>
        /// <para>包含输出椭圆面要素的要素类。</para>
        /// </param>
        /// <param name="_x_or_lon_field">
        /// <para>X Field (longitude, UTM, MGRS, USNG, GARS, GeoRef)</para>
        /// <para>The field in the input table containing the x or longitude coordinates.</para>
        /// <para>输入表中包含 x 或经度坐标的字段。</para>
        /// </param>
        /// <param name="_major_field">
        /// <para>Major Field</para>
        /// <para>The field in the input table containing the major axis values.</para>
        /// <para>输入表中包含主轴值的字段。</para>
        /// </param>
        /// <param name="_minor_field">
        /// <para>Minor Field</para>
        /// <para>The field in the input table containing the minor axis values.</para>
        /// <para>输入表中包含短轴值的字段。</para>
        /// </param>
        /// <param name="_in_coordinate_format">
        /// <para>Input Coordinate Format</para>
        /// <para><xdoc>
        ///   <para>Specifies the format of the input table coordinates.</para>
        ///   <bulletList>
        ///     <bullet_item>Decimal Degrees - One Field—Coordinates will be formatted in a decimal degrees coordinate pair stored in a single field with coordinates separated by a space, comma, or slash.</bullet_item><para/>
        ///     <bullet_item>Decimal Degrees - Two Fields—Coordinates will be formatted in a decimal degrees coordinate pair stored in two table fields. This is the default.</bullet_item><para/>
        ///     <bullet_item>Degrees and Decimal Minutes - One Field—Coordinates will be formatted in a degrees and decimal minutes coordinate pair stored in a single table field with coordinates separated by a space, comma, or slash.</bullet_item><para/>
        ///     <bullet_item>Degrees and Decimal Minutes - Two Fields—Coordinates will be formatted in a degrees and decimal minutes coordinate pair stored in two table fields.</bullet_item><para/>
        ///     <bullet_item>Degrees, Minutes, and Seconds - One Field—Coordinates will be formatted in a degrees, minutes, and seconds coordinate pair stored in a single table field with coordinates separated by a space, comma, or slash.</bullet_item><para/>
        ///     <bullet_item>Degrees, Minutes, and Seconds - Two Fields—Coordinates will be formatted in a degrees, minutes, and seconds coordinate pair stored in two table fields.</bullet_item><para/>
        ///     <bullet_item>Global Area Reference System—Coordinates will be formatted in Global Area Reference System.</bullet_item><para/>
        ///     <bullet_item>World Geographic Reference System— Coordinates will be formatted in World Geographic Reference System.</bullet_item><para/>
        ///     <bullet_item>Universal Transverse Mercator Bands—Coordinates will be formatted in Universal Transverse Mercator coordinate bands.</bullet_item><para/>
        ///     <bullet_item>Universal Transverse Mercator Zones—Coordinates will be formatted in Universal Transverse Mercator coordinate zones.</bullet_item><para/>
        ///     <bullet_item>United States National Grid—Coordinates will be formatted in United States National Grid.</bullet_item><para/>
        ///     <bullet_item>Military Grid Reference System—Coordinates will be formatted in Military Grid Reference System.</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>指定输入表坐标的格式。</para>
        ///   <bulletList>
        ///     <bullet_item>十进制度 - 一个字段 - 坐标将采用十进制度坐标对的格式，存储在单个字段中，坐标以空格、逗号或斜杠分隔。</bullet_item><para/>
        ///     <bullet_item>十进制度 - 两个字段 - 坐标将采用存储在两个表字段中的十进制度坐标对的格式。这是默认设置。</bullet_item><para/>
        ///     <bullet_item>度和十进制分钟 - 一个字段 - 坐标将采用度和十进制分钟坐标对的格式，存储在单个表字段中，坐标以空格、逗号或斜杠分隔。</bullet_item><para/>
        ///     <bullet_item>度和十进制分钟 - 两个字段 - 坐标将采用存储在两个表字段中的度和十进制分钟坐标对进行格式化。</bullet_item><para/>
        ///     <bullet_item>度、分和秒 - 一个字段 - 坐标将采用存储在单个表字段中的度、分和秒坐标对的格式，坐标之间用空格、逗号或斜杠分隔。</bullet_item><para/>
        ///     <bullet_item>度、分和秒 - 两个字段—坐标的格式将存储在两个表字段中的度、分和秒坐标对中。</bullet_item><para/>
        ///     <bullet_item>全球面积参考系—坐标将在全球面积参考系中设置格式。</bullet_item><para/>
        ///     <bullet_item>世界地理参考系 - 坐标将在世界地理参考系中设置格式。</bullet_item><para/>
        ///     <bullet_item>通用横轴墨卡托波段—坐标将采用通用横轴墨卡托坐标波段的格式。</bullet_item><para/>
        ///     <bullet_item>通用横轴墨卡托区域—坐标将在通用横轴墨卡托坐标区中设置格式。</bullet_item><para/>
        ///     <bullet_item>美国国家格网—坐标将采用美国国家格网格式。</bullet_item><para/>
        ///     <bullet_item>军事格网参考系—坐标将在军事格网参考系统中设置格式。</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// </param>
        public CoordinateTableToEllipse(object _in_table, object _out_feature_class, object _x_or_lon_field, object _major_field, object _minor_field, _in_coordinate_format_value _in_coordinate_format)
        {
            this._in_table = _in_table;
            this._out_feature_class = _out_feature_class;
            this._x_or_lon_field = _x_or_lon_field;
            this._major_field = _major_field;
            this._minor_field = _minor_field;
            this._in_coordinate_format = _in_coordinate_format;
        }
        public override string ToolboxName => "Defense Tools";

        public override string ToolName => "Coordinate Table To Ellipse";

        public override string CallName => "defense.CoordinateTableToEllipse";

        public override List<string> AcceptEnvironments => ["outputCoordinateSystem", "scratchWorkspace", "workspace"];

        public override object[] ParameterInfo => [_in_table, _out_feature_class, _x_or_lon_field, _major_field, _minor_field, _in_coordinate_format.GetGPValue(), _distance_units.GetGPValue(), _y_or_lat_field, _azimuth_field, _azimuth_units.GetGPValue(), _coordinate_system];

        /// <summary>
        /// <para>Input Table</para>
        /// <para>The table containing the source coordinates.</para>
        /// <para>包含源坐标的表。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Input Table")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public object _in_table { get; set; }


        /// <summary>
        /// <para>Output Ellipse Feature Class</para>
        /// <para>The feature class containing the output ellipse polygon features.</para>
        /// <para>包含输出椭圆面要素的要素类。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Output Ellipse Feature Class")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public object _out_feature_class { get; set; }


        /// <summary>
        /// <para>X Field (longitude, UTM, MGRS, USNG, GARS, GeoRef)</para>
        /// <para>The field in the input table containing the x or longitude coordinates.</para>
        /// <para>输入表中包含 x 或经度坐标的字段。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("X Field (longitude, UTM, MGRS, USNG, GARS, GeoRef)")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public object _x_or_lon_field { get; set; }


        /// <summary>
        /// <para>Major Field</para>
        /// <para>The field in the input table containing the major axis values.</para>
        /// <para>输入表中包含主轴值的字段。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Major Field")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public object _major_field { get; set; }


        /// <summary>
        /// <para>Minor Field</para>
        /// <para>The field in the input table containing the minor axis values.</para>
        /// <para>输入表中包含短轴值的字段。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Minor Field")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public object _minor_field { get; set; }


        /// <summary>
        /// <para>Input Coordinate Format</para>
        /// <para><xdoc>
        ///   <para>Specifies the format of the input table coordinates.</para>
        ///   <bulletList>
        ///     <bullet_item>Decimal Degrees - One Field—Coordinates will be formatted in a decimal degrees coordinate pair stored in a single field with coordinates separated by a space, comma, or slash.</bullet_item><para/>
        ///     <bullet_item>Decimal Degrees - Two Fields—Coordinates will be formatted in a decimal degrees coordinate pair stored in two table fields. This is the default.</bullet_item><para/>
        ///     <bullet_item>Degrees and Decimal Minutes - One Field—Coordinates will be formatted in a degrees and decimal minutes coordinate pair stored in a single table field with coordinates separated by a space, comma, or slash.</bullet_item><para/>
        ///     <bullet_item>Degrees and Decimal Minutes - Two Fields—Coordinates will be formatted in a degrees and decimal minutes coordinate pair stored in two table fields.</bullet_item><para/>
        ///     <bullet_item>Degrees, Minutes, and Seconds - One Field—Coordinates will be formatted in a degrees, minutes, and seconds coordinate pair stored in a single table field with coordinates separated by a space, comma, or slash.</bullet_item><para/>
        ///     <bullet_item>Degrees, Minutes, and Seconds - Two Fields—Coordinates will be formatted in a degrees, minutes, and seconds coordinate pair stored in two table fields.</bullet_item><para/>
        ///     <bullet_item>Global Area Reference System—Coordinates will be formatted in Global Area Reference System.</bullet_item><para/>
        ///     <bullet_item>World Geographic Reference System— Coordinates will be formatted in World Geographic Reference System.</bullet_item><para/>
        ///     <bullet_item>Universal Transverse Mercator Bands—Coordinates will be formatted in Universal Transverse Mercator coordinate bands.</bullet_item><para/>
        ///     <bullet_item>Universal Transverse Mercator Zones—Coordinates will be formatted in Universal Transverse Mercator coordinate zones.</bullet_item><para/>
        ///     <bullet_item>United States National Grid—Coordinates will be formatted in United States National Grid.</bullet_item><para/>
        ///     <bullet_item>Military Grid Reference System—Coordinates will be formatted in Military Grid Reference System.</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>指定输入表坐标的格式。</para>
        ///   <bulletList>
        ///     <bullet_item>十进制度 - 一个字段 - 坐标将采用十进制度坐标对的格式，存储在单个字段中，坐标以空格、逗号或斜杠分隔。</bullet_item><para/>
        ///     <bullet_item>十进制度 - 两个字段 - 坐标将采用存储在两个表字段中的十进制度坐标对的格式。这是默认设置。</bullet_item><para/>
        ///     <bullet_item>度和十进制分钟 - 一个字段 - 坐标将采用度和十进制分钟坐标对的格式，存储在单个表字段中，坐标以空格、逗号或斜杠分隔。</bullet_item><para/>
        ///     <bullet_item>度和十进制分钟 - 两个字段 - 坐标将采用存储在两个表字段中的度和十进制分钟坐标对进行格式化。</bullet_item><para/>
        ///     <bullet_item>度、分和秒 - 一个字段 - 坐标将采用存储在单个表字段中的度、分和秒坐标对的格式，坐标之间用空格、逗号或斜杠分隔。</bullet_item><para/>
        ///     <bullet_item>度、分和秒 - 两个字段—坐标的格式将存储在两个表字段中的度、分和秒坐标对中。</bullet_item><para/>
        ///     <bullet_item>全球面积参考系—坐标将在全球面积参考系中设置格式。</bullet_item><para/>
        ///     <bullet_item>世界地理参考系 - 坐标将在世界地理参考系中设置格式。</bullet_item><para/>
        ///     <bullet_item>通用横轴墨卡托波段—坐标将采用通用横轴墨卡托坐标波段的格式。</bullet_item><para/>
        ///     <bullet_item>通用横轴墨卡托区域—坐标将在通用横轴墨卡托坐标区中设置格式。</bullet_item><para/>
        ///     <bullet_item>美国国家格网—坐标将采用美国国家格网格式。</bullet_item><para/>
        ///     <bullet_item>军事格网参考系—坐标将在军事格网参考系统中设置格式。</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Input Coordinate Format")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public _in_coordinate_format_value _in_coordinate_format { get; set; }

        public enum _in_coordinate_format_value
        {
            /// <summary>
            /// <para>Decimal Degrees - One Field</para>
            /// <para>Decimal Degrees - One Field—Coordinates will be formatted in a decimal degrees coordinate pair stored in a single field with coordinates separated by a space, comma, or slash.</para>
            /// <para>十进制度 - 一个字段 - 坐标将采用十进制度坐标对的格式，存储在单个字段中，坐标以空格、逗号或斜杠分隔。</para>
            /// </summary>
            [Description("Decimal Degrees - One Field")]
            [GPEnumValue("DD_1")]
            _DD_1,

            /// <summary>
            /// <para>Decimal Degrees - Two Fields</para>
            /// <para>Decimal Degrees - Two Fields—Coordinates will be formatted in a decimal degrees coordinate pair stored in two table fields. This is the default.</para>
            /// <para>十进制度 - 两个字段 - 坐标将采用存储在两个表字段中的十进制度坐标对的格式。这是默认设置。</para>
            /// </summary>
            [Description("Decimal Degrees - Two Fields")]
            [GPEnumValue("DD_2")]
            _DD_2,

            /// <summary>
            /// <para>Degrees and Decimal Minutes - One Field</para>
            /// <para>Degrees and Decimal Minutes - One Field—Coordinates will be formatted in a degrees and decimal minutes coordinate pair stored in a single table field with coordinates separated by a space, comma, or slash.</para>
            /// <para>度和十进制分钟 - 一个字段 - 坐标将采用度和十进制分钟坐标对的格式，存储在单个表字段中，坐标以空格、逗号或斜杠分隔。</para>
            /// </summary>
            [Description("Degrees and Decimal Minutes - One Field")]
            [GPEnumValue("DDM_1")]
            _DDM_1,

            /// <summary>
            /// <para>Degrees and Decimal Minutes - Two Fields</para>
            /// <para>Degrees and Decimal Minutes - Two Fields—Coordinates will be formatted in a degrees and decimal minutes coordinate pair stored in two table fields.</para>
            /// <para>度和十进制分钟 - 两个字段 - 坐标将采用存储在两个表字段中的度和十进制分钟坐标对进行格式化。</para>
            /// </summary>
            [Description("Degrees and Decimal Minutes - Two Fields")]
            [GPEnumValue("DDM_2")]
            _DDM_2,

            /// <summary>
            /// <para>Degrees, Minutes, and Seconds - One Field</para>
            /// <para>Degrees, Minutes, and Seconds - One Field—Coordinates will be formatted in a degrees, minutes, and seconds coordinate pair stored in a single table field with coordinates separated by a space, comma, or slash.</para>
            /// <para>度、分和秒 - 一个字段 - 坐标将采用存储在单个表字段中的度、分和秒坐标对的格式，坐标之间用空格、逗号或斜杠分隔。</para>
            /// </summary>
            [Description("Degrees, Minutes, and Seconds - One Field")]
            [GPEnumValue("DMS_1")]
            _DMS_1,

            /// <summary>
            /// <para>Degrees, Minutes, and Seconds - Two Fields</para>
            /// <para>Degrees, Minutes, and Seconds - Two Fields—Coordinates will be formatted in a degrees, minutes, and seconds coordinate pair stored in two table fields.</para>
            /// <para>度、分和秒 - 两个字段—坐标的格式将存储在两个表字段中的度、分和秒坐标对中。</para>
            /// </summary>
            [Description("Degrees, Minutes, and Seconds - Two Fields")]
            [GPEnumValue("DMS_2")]
            _DMS_2,

            /// <summary>
            /// <para>Global Area Reference System</para>
            /// <para>Global Area Reference System—Coordinates will be formatted in Global Area Reference System.</para>
            /// <para>全球面积参考系—坐标将在全球面积参考系中设置格式。</para>
            /// </summary>
            [Description("Global Area Reference System")]
            [GPEnumValue("GARS")]
            _GARS,

            /// <summary>
            /// <para>World Geographic Reference System</para>
            /// <para>World Geographic Reference System— Coordinates will be formatted in World Geographic Reference System.</para>
            /// <para>世界地理参考系 - 坐标将在世界地理参考系中设置格式。</para>
            /// </summary>
            [Description("World Geographic Reference System")]
            [GPEnumValue("GEOREF")]
            _GEOREF,

            /// <summary>
            /// <para>Universal Transverse Mercator Bands</para>
            /// <para>Universal Transverse Mercator Bands—Coordinates will be formatted in Universal Transverse Mercator coordinate bands.</para>
            /// <para>通用横轴墨卡托波段—坐标将采用通用横轴墨卡托坐标波段的格式。</para>
            /// </summary>
            [Description("Universal Transverse Mercator Bands")]
            [GPEnumValue("UTM_BANDS")]
            _UTM_BANDS,

            /// <summary>
            /// <para>Universal Transverse Mercator Zones</para>
            /// <para>Universal Transverse Mercator Zones—Coordinates will be formatted in Universal Transverse Mercator coordinate zones.</para>
            /// <para>通用横轴墨卡托区域—坐标将在通用横轴墨卡托坐标区中设置格式。</para>
            /// </summary>
            [Description("Universal Transverse Mercator Zones")]
            [GPEnumValue("UTM_ZONES")]
            _UTM_ZONES,

            /// <summary>
            /// <para>United States National Grid</para>
            /// <para>United States National Grid—Coordinates will be formatted in United States National Grid.</para>
            /// <para>美国国家格网—坐标将采用美国国家格网格式。</para>
            /// </summary>
            [Description("United States National Grid")]
            [GPEnumValue("USNG")]
            _USNG,

            /// <summary>
            /// <para>Military Grid Reference System</para>
            /// <para>Military Grid Reference System—Coordinates will be formatted in Military Grid Reference System.</para>
            /// <para>军事格网参考系—坐标将在军事格网参考系统中设置格式。</para>
            /// </summary>
            [Description("Military Grid Reference System")]
            [GPEnumValue("MGRS")]
            _MGRS,

        }

        /// <summary>
        /// <para>Distance Units</para>
        /// <para><xdoc>
        ///   <para>Specifies the unit of measurement for the major and minor axes.</para>
        ///   <bulletList>
        ///     <bullet_item>Meters—The unit will be meters. This is the default.</bullet_item><para/>
        ///     <bullet_item>Kilometers—The unit will be kilometers.</bullet_item><para/>
        ///     <bullet_item>Miles—The unit will be miles.</bullet_item><para/>
        ///     <bullet_item>Nautical miles—The unit will be nautical miles.</bullet_item><para/>
        ///     <bullet_item>Feet—The unit will be feet.</bullet_item><para/>
        ///     <bullet_item>US survey feet—The unit will be U.S. survey feet.</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>指定长轴和短轴的测量单位。</para>
        ///   <bulletList>
        ///     <bullet_item>米—单位将为米。这是默认设置。</bullet_item><para/>
        ///     <bullet_item>千米—单位将为千米。</bullet_item><para/>
        ///     <bullet_item>英里—单位将为英里。</bullet_item><para/>
        ///     <bullet_item>海里—单位将为海里。</bullet_item><para/>
        ///     <bullet_item>英尺—单位将为英尺。</bullet_item><para/>
        ///     <bullet_item>美国测量英尺—单位为美国测量英尺。</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Distance Units")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public _distance_units_value _distance_units { get; set; } = _distance_units_value._METERS;

        public enum _distance_units_value
        {
            /// <summary>
            /// <para>Meters</para>
            /// <para>Meters—The unit will be meters. This is the default.</para>
            /// <para>米—单位将为米。这是默认设置。</para>
            /// </summary>
            [Description("Meters")]
            [GPEnumValue("METERS")]
            _METERS,

            /// <summary>
            /// <para>Kilometers</para>
            /// <para>Kilometers—The unit will be kilometers.</para>
            /// <para>千米—单位将为千米。</para>
            /// </summary>
            [Description("Kilometers")]
            [GPEnumValue("KILOMETERS")]
            _KILOMETERS,

            /// <summary>
            /// <para>Miles</para>
            /// <para>Miles—The unit will be miles.</para>
            /// <para>英里—单位将为英里。</para>
            /// </summary>
            [Description("Miles")]
            [GPEnumValue("MILES")]
            _MILES,

            /// <summary>
            /// <para>Nautical miles</para>
            /// <para>Nautical miles—The unit will be nautical miles.</para>
            /// <para>海里—单位将为海里。</para>
            /// </summary>
            [Description("Nautical miles")]
            [GPEnumValue("NAUTICAL_MILES")]
            _NAUTICAL_MILES,

            /// <summary>
            /// <para>Feet</para>
            /// <para>Feet—The unit will be feet.</para>
            /// <para>英尺—单位将为英尺。</para>
            /// </summary>
            [Description("Feet")]
            [GPEnumValue("FEET")]
            _FEET,

            /// <summary>
            /// <para>US survey feet</para>
            /// <para>US survey feet—The unit will be U.S. survey feet.</para>
            /// <para>美国测量英尺—单位为美国测量英尺。</para>
            /// </summary>
            [Description("US survey feet")]
            [GPEnumValue("US_SURVEY_FEET")]
            _US_SURVEY_FEET,

        }

        /// <summary>
        /// <para>Y Field (latitude)</para>
        /// <para><xdoc>
        ///   <para>The field in the input table containing the latitude coordinates.</para>
        ///   <para>The Y Field (latitude) parameter is used when the Input Coordinate Format parameter is set to Decimal Degrees - Two Fields, Degrees and Decimal Minutes - Two Fields, or Degrees Minutes and Seconds - Two Fields.</para>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>输入表中包含纬度坐标的字段。</para>
        ///   <para>当输入坐标格式参数设置为十进制度 - 两个字段、度和十进制分钟 - 两个字段或度分和秒 - 两个字段时，将使用 Y 字段（纬度）参数。</para>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Y Field (latitude)")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public object _y_or_lat_field { get; set; } = null;


        /// <summary>
        /// <para>Azimuth Field</para>
        /// <para>The field in the input table containing the ellipse azimuth values.</para>
        /// <para>输入表中包含椭圆方位角值的字段。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Azimuth Field")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public object _azimuth_field { get; set; } = null;


        /// <summary>
        /// <para>Azimuth Units</para>
        /// <para><xdoc>
        ///   <para>Specifies the unit of measurement for the azimuth field.</para>
        ///   <bulletList>
        ///     <bullet_item>Degrees—The angle will be degrees. This is the default.</bullet_item><para/>
        ///     <bullet_item>Mils—The angle will be mils.</bullet_item><para/>
        ///     <bullet_item>Radians—The angle will be radians.</bullet_item><para/>
        ///     <bullet_item>Gradians—The angle will be gradians.</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>指定方位角字段的度量单位。</para>
        ///   <bulletList>
        ///     <bullet_item>度 - 角度将为度。这是默认设置。</bullet_item><para/>
        ///     <bullet_item>密耳—角度为密耳。</bullet_item><para/>
        ///     <bullet_item>弧度—角度为弧度。</bullet_item><para/>
        ///     <bullet_item>坡度线—角度将为坡度线。</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Azimuth Units")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public _azimuth_units_value _azimuth_units { get; set; } = _azimuth_units_value._DEGREES;

        public enum _azimuth_units_value
        {
            /// <summary>
            /// <para>Degrees</para>
            /// <para>Degrees—The angle will be degrees. This is the default.</para>
            /// <para>度 - 角度将为度。这是默认设置。</para>
            /// </summary>
            [Description("Degrees")]
            [GPEnumValue("DEGREES")]
            _DEGREES,

            /// <summary>
            /// <para>Mils</para>
            /// <para>Mils—The angle will be mils.</para>
            /// <para>密耳—角度为密耳。</para>
            /// </summary>
            [Description("Mils")]
            [GPEnumValue("MILS")]
            _MILS,

            /// <summary>
            /// <para>Radians</para>
            /// <para>Radians—The angle will be radians.</para>
            /// <para>弧度—角度为弧度。</para>
            /// </summary>
            [Description("Radians")]
            [GPEnumValue("RADS")]
            _RADS,

            /// <summary>
            /// <para>Gradians</para>
            /// <para>Gradians—The angle will be gradians.</para>
            /// <para>坡度线—角度将为坡度线。</para>
            /// </summary>
            [Description("Gradians")]
            [GPEnumValue("GRADS")]
            _GRADS,

        }

        /// <summary>
        /// <para>Output Coordinate System</para>
        /// <para>The spatial reference of the output feature class. The default is GCS_WGS_1984.</para>
        /// <para>输出要素类的空间参考。默认值为 GCS_WGS_1984。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Output Coordinate System")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public object _coordinate_system { get; set; } = null;


        public CoordinateTableToEllipse SetEnv(object outputCoordinateSystem = null, object scratchWorkspace = null, object workspace = null)
        {
            base.SetEnv(outputCoordinateSystem: outputCoordinateSystem, scratchWorkspace: scratchWorkspace, workspace: workspace);
            return this;
        }

    }

}